<?php

namespace RTS\Bundle\TopBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * RTS\Bundle\TopBundle\Entity\Server
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class Server
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string $login
     * @Assert\NotBlank(groups={"registration"})
     * @Assert\MinLength(5)
     * @ORM\Column(name="login", type="string", length=255)
     */
    private $login;

    /**
     * @var string $password
     * @Assert\NotBlank(groups={"registration"})
     * @Assert\MinLength(8)
     * @ORM\Column(name="password", type="string", length=255)
     */
    private $password;

    /**
     * @var string $email
     * @Assert\NotBlank(message="Saisissez une adresse de messagerie.")
     * @Assert\Email(message="Saisissez une adresse de messagerie valide.")
     * @ORM\Column(name="email", type="string", length=255)
     */
    private $email;

    /**
     * @var string $name
     * @Assert\NotBlank(groups={"registration"})
     * @Assert\MinLength(5)
     * @Assert\MinLength(5)
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @var string $website
     *
     * @ORM\Column(name="website", type="string", length=255)
     */
    private $website;

    /**
     * @var integer $base_rate
     *
     * @ORM\Column(name="base_rate", type="integer")
     */
    private $base_rate;

    /**
     * @var integer $job_rate
     *
     * @ORM\Column(name="job_rate", type="integer")
     */
    private $job_rate;

    /**
     * @var string $drop_rate
     *
     * @ORM\Column(name="drop_rate", type="string", length=255)
     */
    private $drop_rate;

    /**
     * @var string $logo_url
     *
     * @ORM\Column(name="logo_url", type="string", length=255)
     */
    private $logo_url;

    /**
     * @var string $small_logo_url
     *
     * @ORM\Column(name="small_logo_url", type="string", length=255)
     */
    private $small_logo_url;

    /**
     * @var text $description
     *
     * @ORM\Column(name="description", type="text")
     */
    private $description;

    /**
     * @var text $commands
     *
     * @ORM\Column(name="commands", type="text")
     */
    private $commands;

    /**
     * @var text $woe_hours
     *
     * @ORM\Column(name="woe_hours", type="text")
     */
    private $woe_hours;

    /**
     * @var integer $score
     *
     * @ORM\Column(name="score", type="integer")
     */
    private $score;

    /**
     * @var integer $score_out
     *
     * @ORM\Column(name="score_out", type="integer")
     */
    private $score_out;

    /**
     * @var boolean $enabled
     *
     * @ORM\Column(name="enabled", type="boolean")
     */
    private $enabled;

    /**
     * @var boolean $displayed
     *
     * @ORM\Column(name="displayed", type="boolean")
     */
    private $displayed;

    /**
     * @var text $screenshots
     *
     * @ORM\Column(name="screenshots", type="text")
     */
    private $screenshots;

    
    public function __construct()
    {
        $this->score = 0;
        $this->score_out = 0;
        $this->enabled = false;
        $this->displayed = false;
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set login
     *
     * @param string $login
     */
    public function setLogin($login)
    {
        $this->login = $login;
    }

    /**
     * Get login
     *
     * @return string 
     */
    public function getLogin()
    {
        return $this->login;
    }

    /**
     * Set password
     *
     * @param string $password
     */
    public function setPassword($password)
    {
        $this->password = $password;
    }

    /**
     * Get password
     *
     * @return string 
     */
    public function getPassword()
    {
        return $this->password;
    }

    /**
     * Set email
     *
     * @param string $email
     */
    public function setEmail($email)
    {
        $this->email = $email;
    }

    /**
     * Get email
     *
     * @return string 
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set name
     *
     * @param string $name
     */
    public function setName($name)
    {
        $this->name = $name;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set website
     *
     * @param string $website
     */
    public function setWebsite($website)
    {
        $this->website = $website;
    }

    /**
     * Get website
     *
     * @return string 
     */
    public function getWebsite()
    {
        return $this->website;
    }

    /**
     * Set base_rate
     *
     * @param integer $baseRate
     */
    public function setBaseRate($baseRate)
    {
        $this->base_rate = $baseRate;
    }

    /**
     * Get base_rate
     *
     * @return integer 
     */
    public function getBaseRate()
    {
        return $this->base_rate;
    }

    /**
     * Set job_rate
     *
     * @param integer $jobRate
     */
    public function setJobRate($jobRate)
    {
        $this->job_rate = $jobRate;
    }

    /**
     * Get job_rate
     *
     * @return integer 
     */
    public function getJobRate()
    {
        return $this->job_rate;
    }

    /**
     * Set drop_rate
     *
     * @param string $dropRate
     */
    public function setDropRate($dropRate)
    {
        $this->drop_rate = $dropRate;
    }

    /**
     * Get drop_rate
     *
     * @return string 
     */
    public function getDropRate()
    {
        return $this->drop_rate;
    }

    /**
     * Set logo_url
     *
     * @param string $logoUrl
     */
    public function setLogoUrl($logoUrl)
    {
        $this->logo_url = $logoUrl;
    }

    /**
     * Get logo_url
     *
     * @return string 
     */
    public function getLogoUrl()
    {
        return $this->logo_url;
    }

    /**
     * Set small_logo_url
     *
     * @param string $smallLogoUrl
     */
    public function setSmallLogoUrl($smallLogoUrl)
    {
        $this->small_logo_url = $smallLogoUrl;
    }

    /**
     * Get small_logo_url
     *
     * @return string 
     */
    public function getSmallLogoUrl()
    {
        return $this->small_logo_url;
    }

    /**
     * Set description
     *
     * @param text $description
     */
    public function setDescription($description)
    {
        $this->description = $description;
    }

    /**
     * Get description
     *
     * @return text 
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * Set commands
     *
     * @param text $commands
     */
    public function setCommands($commands)
    {
        $this->commands = $commands;
    }

    /**
     * Get commands
     *
     * @return text 
     */
    public function getCommands()
    {
        return $this->commands;
    }

    /**
     * Set woe_hours
     *
     * @param text $woeHours
     */
    public function setWoeHours($woeHours)
    {
        $this->woe_hours = $woeHours;
    }

    /**
     * Get woe_hours
     *
     * @return text 
     */
    public function getWoeHours()
    {
        return $this->woe_hours;
    }

    /**
     * Set score
     *
     * @param integer $score
     */
    public function setScore($score)
    {
        $this->score = $score;
    }

    /**
     * Get score
     *
     * @return integer 
     */
    public function getScore()
    {
        return $this->score;
    }

    /**
     * Set score_out
     *
     * @param integer $scoreOut
     */
    public function setScoreOut($scoreOut)
    {
        $this->score_out = $scoreOut;
    }

    /**
     * Get score_out
     *
     * @return integer 
     */
    public function getScoreOut()
    {
        return $this->score_out;
    }

    /**
     * Set enabled
     *
     * @param boolean $enabled
     */
    public function setEnabled($enabled)
    {
        $this->enabled = $enabled;
    }

    /**
     * Get enabled
     *
     * @return boolean 
     */
    public function getEnabled()
    {
        return $this->enabled;
    }

    /**
     * Set displayed
     *
     * @param boolean $displayed
     */
    public function setDisplayed($displayed)
    {
        $this->displayed = $displayed;
    }

    /**
     * Get displayed
     *
     * @return boolean 
     */
    public function getDisplayed()
    {
        return $this->displayed;
    }

    /**
     * Set screenshots
     *
     * @param text $screenshots
     */
    public function setScreenshots($screenshots)
    {
        $this->screenshots = $screenshots;
    }

    /**
     * Get screenshots
     *
     * @return text 
     */
    public function getScreenshots()
    {
        return $this->screenshots;
    }
}